﻿2026-06-04T01:36:26.9223024Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T01:36:26.9223799Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T01:36:26.9246151Z shell: /usr/bin/bash -e {0}
2026-06-04T01:36:26.9246649Z ##[endgroup]
2026-06-04T01:36:26.9421345Z Requirement quality findings (15); 126 requirements queued for agent review:
2026-06-04T01:36:26.9423699Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9426406Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T01:36:26.9428832Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9431242Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9432811Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T01:36:26.9434529Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T01:36:26.9436776Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9439043Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9441169Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T01:36:26.9442416Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T01:36:26.9443742Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T01:36:26.9445651Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9447549Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T01:36:26.9448874Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T01:36:26.9450495Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T01:36:26.9450521Z 
2026-06-04T01:36:26.9450982Z # Requirement quality review
2026-06-04T01:36:26.9451000Z 
2026-06-04T01:36:26.9452026Z You are reviewing 126 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T01:36:26.9453091Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T01:36:26.9454106Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T01:36:26.9454824Z this command's output. Your task is the rubric items below.
2026-06-04T01:36:26.9454860Z 
2026-06-04T01:36:26.9455248Z ## Rubric
2026-06-04T01:36:26.9455268Z 
2026-06-04T01:36:26.9456542Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T01:36:26.9457647Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T01:36:26.9458622Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T01:36:26.9459349Z - **active-voice** — clear subject and active verb.
2026-06-04T01:36:26.9459370Z 
2026-06-04T01:36:26.9460753Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T01:36:26.9461180Z clear concerns.
2026-06-04T01:36:26.9461201Z 
2026-06-04T01:36:26.9462005Z ## Requirements
2026-06-04T01:36:26.9462029Z 
2026-06-04T01:36:26.9462437Z ### REQ-ARCH-1
2026-06-04T01:36:26.9463004Z - Title: Many small acyclically-layered crates
2026-06-04T01:36:26.9463443Z - Required stages: impl
2026-06-04T01:36:26.9463461Z 
2026-06-04T01:36:26.9463871Z ### REQ-ARCH-2
2026-06-04T01:36:26.9464926Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T01:36:26.9465367Z - Required stages: impl
2026-06-04T01:36:26.9465385Z 
2026-06-04T01:36:26.9465799Z ### REQ-ARCH-3
2026-06-04T01:36:26.9466774Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T01:36:26.9467247Z - Required stages: impl, unit
2026-06-04T01:36:26.9467265Z 
2026-06-04T01:36:26.9467669Z ### REQ-ARCH-4
2026-06-04T01:36:26.9481262Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T01:36:26.9481969Z - Required stages: impl, unit
2026-06-04T01:36:26.9481994Z 
2026-06-04T01:36:26.9482405Z ### REQ-DAEMON-1
2026-06-04T01:36:26.9483237Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T01:36:26.9483709Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9483742Z 
2026-06-04T01:36:26.9484144Z ### REQ-DAEMON-2
2026-06-04T01:36:26.9484762Z - Title: Broker/brain split for seamless self-update
2026-06-04T01:36:26.9485234Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9485255Z 
2026-06-04T01:36:26.9485667Z ### REQ-DAEMON-3
2026-06-04T01:36:26.9486369Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T01:36:26.9486846Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9486866Z 
2026-06-04T01:36:26.9487275Z ### REQ-DAEMON-4
2026-06-04T01:36:26.9487797Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T01:36:26.9488272Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9488290Z 
2026-06-04T01:36:26.9488689Z ### REQ-STORE-1
2026-06-04T01:36:26.9493872Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-04T01:36:26.9494324Z - Required stages: 
2026-06-04T01:36:26.9494343Z 
2026-06-04T01:36:26.9494766Z ### REQ-MANIFEST-1
2026-06-04T01:36:26.9495649Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T01:36:26.9496121Z - Required stages: doc, impl, unit
2026-06-04T01:36:26.9496151Z 
2026-06-04T01:36:26.9496562Z ### REQ-SEAM-SPAWN
2026-06-04T01:36:26.9497011Z - Title: spawn-session seam
2026-06-04T01:36:26.9497463Z - Required stages: impl, unit
2026-06-04T01:36:26.9497483Z 
2026-06-04T01:36:26.9497917Z ### REQ-SEAM-POSTSPAWN
2026-06-04T01:36:26.9498509Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T01:36:26.9498974Z - Required stages: impl, unit
2026-06-04T01:36:26.9498992Z 
2026-06-04T01:36:26.9499750Z ### REQ-SEAM-PSYCHE
2026-06-04T01:36:26.9500382Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T01:36:26.9500873Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9500893Z 
2026-06-04T01:36:26.9501309Z ### REQ-SEAM-HISTORY
2026-06-04T01:36:26.9502177Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T01:36:26.9502669Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9502688Z 
2026-06-04T01:36:26.9503108Z ### REQ-SEAM-ACTIVITY
2026-06-04T01:36:26.9503970Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T01:36:26.9504419Z - Required stages: impl, unit
2026-06-04T01:36:26.9504436Z 
2026-06-04T01:36:26.9504863Z ### REQ-SEAM-INJECT
2026-06-04T01:36:26.9505624Z - Title: inject-input methods configurable per activity-state
2026-06-04T01:36:26.9506078Z - Required stages: impl, unit
2026-06-04T01:36:26.9506096Z 
2026-06-04T01:36:26.9506517Z ### REQ-SEAM-RESUME
2026-06-04T01:36:26.9507394Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T01:36:26.9508248Z - Required stages: impl, unit
2026-06-04T01:36:26.9508270Z 
2026-06-04T01:36:26.9508705Z ### REQ-SEAM-CAPABILITY
2026-06-04T01:36:26.9509601Z - Title: Hostable endpoint-types capability declaration
2026-06-04T01:36:26.9510085Z - Required stages: impl, unit
2026-06-04T01:36:26.9510105Z 
2026-06-04T01:36:26.9510745Z ### REQ-SEAM-UPDATE
2026-06-04T01:36:26.9511546Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T01:36:26.9512016Z - Required stages: impl, unit
2026-06-04T01:36:26.9512045Z 
2026-06-04T01:36:26.9512453Z ### REQ-API-1
2026-06-04T01:36:26.9513284Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T01:36:26.9513766Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9513784Z 
2026-06-04T01:36:26.9514202Z ### REQ-API-2
2026-06-04T01:36:26.9515245Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T01:36:26.9515736Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9515756Z 
2026-06-04T01:36:26.9516185Z ### REQ-API-3
2026-06-04T01:36:26.9516824Z - Title: commune/signoff are file-drops, not commands
2026-06-04T01:36:26.9517317Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9517337Z 
2026-06-04T01:36:26.9517752Z ### REQ-START-1
2026-06-04T01:36:26.9518711Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T01:36:26.9519265Z - Required stages: impl, unit
2026-06-04T01:36:26.9519288Z 
2026-06-04T01:36:26.9519849Z ### REQ-START-2
2026-06-04T01:36:26.9520487Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T01:36:26.9520960Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9520977Z 
2026-06-04T01:36:26.9521383Z ### REQ-START-3
2026-06-04T01:36:26.9522189Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T01:36:26.9522659Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9522677Z 
2026-06-04T01:36:26.9523086Z ### REQ-START-4
2026-06-04T01:36:26.9523696Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T01:36:26.9524168Z - Required stages: impl, unit
2026-06-04T01:36:26.9524188Z 
2026-06-04T01:36:26.9524580Z ### REQ-EP-1
2026-06-04T01:36:26.9525153Z - Title: Day-one endpoint types; open type system
2026-06-04T01:36:26.9525609Z - Required stages: impl, unit
2026-06-04T01:36:26.9525634Z 
2026-06-04T01:36:26.9526029Z ### REQ-EP-2
2026-06-04T01:36:26.9526814Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T01:36:26.9527269Z - Required stages: impl, unit
2026-06-04T01:36:26.9527286Z 
2026-06-04T01:36:26.9527686Z ### REQ-EP-3
2026-06-04T01:36:26.9528578Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T01:36:26.9529031Z - Required stages: impl, unit
2026-06-04T01:36:26.9529049Z 
2026-06-04T01:36:26.9529664Z ### REQ-EP-4
2026-06-04T01:36:26.9530482Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T01:36:26.9530910Z - Required stages: 
2026-06-04T01:36:26.9530927Z 
2026-06-04T01:36:26.9531325Z ### REQ-EP-5
2026-06-04T01:36:26.9535324Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-04T01:36:26.9535763Z - Required stages: 
2026-06-04T01:36:26.9535789Z 
2026-06-04T01:36:26.9536195Z ### REQ-INST-1
2026-06-04T01:36:26.9536929Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T01:36:26.9537356Z - Required stages: 
2026-06-04T01:36:26.9537373Z 
2026-06-04T01:36:26.9537770Z ### REQ-INST-2
2026-06-04T01:36:26.9538295Z - Title: Per-node files, synced Psyche mind
2026-06-04T01:36:26.9538714Z - Required stages: 
2026-06-04T01:36:26.9538731Z 
2026-06-04T01:36:26.9539135Z ### REQ-INST-3
2026-06-04T01:36:26.9540211Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T01:36:26.9540628Z - Required stages: 
2026-06-04T01:36:26.9540645Z 
2026-06-04T01:36:26.9541054Z ### REQ-INST-4
2026-06-04T01:36:26.9542048Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T01:36:26.9542480Z - Required stages: 
2026-06-04T01:36:26.9542498Z 
2026-06-04T01:36:26.9542905Z ### REQ-INST-5
2026-06-04T01:36:26.9543746Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T01:36:26.9544315Z - Required stages: 
2026-06-04T01:36:26.9544334Z 
2026-06-04T01:36:26.9544730Z ### REQ-INST-6
2026-06-04T01:36:26.9545625Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T01:36:26.9546044Z - Required stages: 
2026-06-04T01:36:26.9546071Z 
2026-06-04T01:36:26.9546465Z ### REQ-INST-7
2026-06-04T01:36:26.9547082Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T01:36:26.9547535Z - Required stages: impl, unit
2026-06-04T01:36:26.9547552Z 
2026-06-04T01:36:26.9547963Z ### REQ-INST-8
2026-06-04T01:36:26.9548658Z - Title: Remote-control mode distinct from local operation
2026-06-04T01:36:26.9549084Z - Required stages: 
2026-06-04T01:36:26.9549101Z 
2026-06-04T01:36:26.9549754Z ### REQ-INST-9
2026-06-04T01:36:26.9550820Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T01:36:26.9551286Z - Required stages: impl, unit
2026-06-04T01:36:26.9551304Z 
2026-06-04T01:36:26.9551698Z ### REQ-INST-10
2026-06-04T01:36:26.9552750Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T01:36:26.9553219Z - Required stages: impl, unit
2026-06-04T01:36:26.9553239Z 
2026-06-04T01:36:26.9553636Z ### REQ-INST-11
2026-06-04T01:36:26.9554676Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T01:36:26.9555132Z - Required stages: impl, unit
2026-06-04T01:36:26.9555149Z 
2026-06-04T01:36:26.9555557Z ### REQ-INST-12
2026-06-04T01:36:26.9557033Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T01:36:26.9557486Z - Required stages: impl, unit
2026-06-04T01:36:26.9557505Z 
2026-06-04T01:36:26.9557932Z ### REQ-INST-13
2026-06-04T01:36:26.9558783Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T01:36:26.9559280Z - Required stages: impl, unit
2026-06-04T01:36:26.9559298Z 
2026-06-04T01:36:26.9560104Z ### REQ-INST-14
2026-06-04T01:36:26.9562095Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T01:36:26.9562538Z - Required stages: 
2026-06-04T01:36:26.9562554Z 
2026-06-04T01:36:26.9562950Z ### REQ-INST-15
2026-06-04T01:36:26.9567258Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-04T01:36:26.9567693Z - Required stages: 
2026-06-04T01:36:26.9567709Z 
2026-06-04T01:36:26.9568111Z ### REQ-REACH-1
2026-06-04T01:36:26.9568781Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T01:36:26.9569258Z - Required stages: 
2026-06-04T01:36:26.9569275Z 
2026-06-04T01:36:26.9570079Z ### REQ-REACH-2
2026-06-04T01:36:26.9570794Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T01:36:26.9571220Z - Required stages: 
2026-06-04T01:36:26.9571248Z 
2026-06-04T01:36:26.9571652Z ### REQ-MSG-1
2026-06-04T01:36:26.9574067Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-04T01:36:26.9574552Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9574569Z 
2026-06-04T01:36:26.9574974Z ### REQ-MSG-2
2026-06-04T01:36:26.9576322Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T01:36:26.9576796Z - Required stages: impl, unit
2026-06-04T01:36:26.9576814Z 
2026-06-04T01:36:26.9577207Z ### REQ-MSG-3
2026-06-04T01:36:26.9579452Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T01:36:26.9580292Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9580314Z 
2026-06-04T01:36:26.9580741Z ### REQ-NODE-IDENTITY
2026-06-04T01:36:26.9582042Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T01:36:26.9582504Z - Required stages: impl, unit
2026-06-04T01:36:26.9582523Z 
2026-06-04T01:36:26.9582939Z ### REQ-NET-1
2026-06-04T01:36:26.9583815Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T01:36:26.9584276Z - Required stages: impl, unit
2026-06-04T01:36:26.9584293Z 
2026-06-04T01:36:26.9584700Z ### REQ-NET-2
2026-06-04T01:36:26.9585531Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T01:36:26.9585978Z - Required stages: impl
2026-06-04T01:36:26.9585999Z 
2026-06-04T01:36:26.9586397Z ### REQ-NET-3
2026-06-04T01:36:26.9587152Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T01:36:26.9587590Z - Required stages: 
2026-06-04T01:36:26.9587607Z 
2026-06-04T01:36:26.9588016Z ### REQ-PAIR-1
2026-06-04T01:36:26.9588500Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T01:36:26.9588951Z - Required stages: impl, unit
2026-06-04T01:36:26.9588991Z 
2026-06-04T01:36:26.9589627Z ### REQ-PAIR-2
2026-06-04T01:36:26.9590410Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T01:36:26.9590871Z - Required stages: impl, unit
2026-06-04T01:36:26.9590890Z 
2026-06-04T01:36:26.9591307Z ### REQ-PAIR-3
2026-06-04T01:36:26.9591967Z - Title: Fetch current pairing code from any paired node
2026-06-04T01:36:26.9592430Z - Required stages: impl, unit
2026-06-04T01:36:26.9592449Z 
2026-06-04T01:36:26.9592863Z ### REQ-PAIR-4
2026-06-04T01:36:26.9593343Z - Title: Subnet naming on first pairing
2026-06-04T01:36:26.9593808Z - Required stages: impl, unit
2026-06-04T01:36:26.9593828Z 
2026-06-04T01:36:26.9594232Z ### REQ-PAIR-5
2026-06-04T01:36:26.9595788Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T01:36:26.9596260Z - Required stages: impl, unit
2026-06-04T01:36:26.9596277Z 
2026-06-04T01:36:26.9596683Z ### REQ-PAIR-6
2026-06-04T01:36:26.9597996Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T01:36:26.9598470Z - Required stages: impl, unit
2026-06-04T01:36:26.9598486Z 
2026-06-04T01:36:26.9598902Z ### REQ-PAIR-7
2026-06-04T01:36:26.9600014Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T01:36:26.9600442Z - Required stages: 
2026-06-04T01:36:26.9600460Z 
2026-06-04T01:36:26.9600870Z ### REQ-SEC-1
2026-06-04T01:36:26.9602979Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T01:36:26.9603414Z - Required stages: 
2026-06-04T01:36:26.9603431Z 
2026-06-04T01:36:26.9603843Z ### REQ-NOTIF-1
2026-06-04T01:36:26.9605733Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T01:36:26.9606163Z - Required stages: 
2026-06-04T01:36:26.9606181Z 
2026-06-04T01:36:26.9606584Z ### REQ-NOTIF-2
2026-06-04T01:36:26.9607976Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T01:36:26.9608418Z - Required stages: 
2026-06-04T01:36:26.9608433Z 
2026-06-04T01:36:26.9608827Z ### REQ-UPD-1
2026-06-04T01:36:26.9609671Z - Title: Peer-propagated update over P2P
2026-06-04T01:36:26.9610099Z - Required stages: 
2026-06-04T01:36:26.9610115Z 
2026-06-04T01:36:26.9610521Z ### REQ-UPD-2
2026-06-04T01:36:26.9611181Z - Title: All binaries signature-verified before handoff
2026-06-04T01:36:26.9611635Z - Required stages: impl, unit
2026-06-04T01:36:26.9611652Z 
2026-06-04T01:36:26.9612059Z ### REQ-UPD-3
2026-06-04T01:36:26.9612862Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T01:36:26.9613531Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9613552Z 
2026-06-04T01:36:26.9613949Z ### REQ-UPD-4
2026-06-04T01:36:26.9614811Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T01:36:26.9615418Z - Required stages: impl, unit
2026-06-04T01:36:26.9615436Z 
2026-06-04T01:36:26.9615834Z ### REQ-UPD-5
2026-06-04T01:36:26.9616467Z - Title: spt-core ripple-updates registered adapters
2026-06-04T01:36:26.9617021Z - Required stages: impl, unit
2026-06-04T01:36:26.9617039Z 
2026-06-04T01:36:26.9617452Z ### REQ-TERM-1
2026-06-04T01:36:26.9618265Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T01:36:26.9618719Z - Required stages: impl, unit
2026-06-04T01:36:26.9618737Z 
2026-06-04T01:36:26.9619150Z ### REQ-TERM-2
2026-06-04T01:36:26.9620403Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T01:36:26.9620873Z - Required stages: impl, unit
2026-06-04T01:36:26.9620904Z 
2026-06-04T01:36:26.9621315Z ### REQ-TERM-3
2026-06-04T01:36:26.9621931Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T01:36:26.9622401Z - Required stages: impl, unit
2026-06-04T01:36:26.9622420Z 
2026-06-04T01:36:26.9622813Z ### REQ-TERM-4
2026-06-04T01:36:26.9624718Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T01:36:26.9625219Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9625238Z 
2026-06-04T01:36:26.9625635Z ### REQ-FRONT-1
2026-06-04T01:36:26.9626460Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T01:36:26.9626881Z - Required stages: 
2026-06-04T01:36:26.9626900Z 
2026-06-04T01:36:26.9627320Z ### REQ-INSTALL-1
2026-06-04T01:36:26.9628256Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T01:36:26.9628683Z - Required stages: 
2026-06-04T01:36:26.9628700Z 
2026-06-04T01:36:26.9629116Z ### REQ-INSTALL-2
2026-06-04T01:36:26.9629795Z - Title: Marketplace-repackaging-friendly install
2026-06-04T01:36:26.9630567Z - Required stages: 
2026-06-04T01:36:26.9630594Z 
2026-06-04T01:36:26.9631228Z ### REQ-INSTALL-3
2026-06-04T01:36:26.9631971Z - Title: Idempotent + interactive-optional first run
2026-06-04T01:36:26.9632493Z - Required stages: 
2026-06-04T01:36:26.9632512Z 
2026-06-04T01:36:26.9633066Z ### REQ-INSTALL-4
2026-06-04T01:36:26.9637526Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-04T01:36:26.9637996Z - Required stages: 
2026-06-04T01:36:26.9638014Z 
2026-06-04T01:36:26.9638431Z ### REQ-MIGRATE-1
2026-06-04T01:36:26.9639449Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T01:36:26.9640016Z - Required stages: 
2026-06-04T01:36:26.9640033Z 
2026-06-04T01:36:26.9640447Z ### REQ-INFRA-1
2026-06-04T01:36:26.9641328Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T01:36:26.9641759Z - Required stages: 
2026-06-04T01:36:26.9641783Z 
2026-06-04T01:36:26.9642197Z ### REQ-DOCS-1
2026-06-04T01:36:26.9643156Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T01:36:26.9643600Z - Required stages: 
2026-06-04T01:36:26.9643618Z 
2026-06-04T01:36:26.9644016Z ### REQ-DOCS-2
2026-06-04T01:36:26.9644772Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T01:36:26.9645200Z - Required stages: 
2026-06-04T01:36:26.9645217Z 
2026-06-04T01:36:26.9645617Z ### REQ-DOCS-3
2026-06-04T01:36:26.9646643Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T01:36:26.9647080Z - Required stages: 
2026-06-04T01:36:26.9647100Z 
2026-06-04T01:36:26.9647511Z ### REQ-DOCS-4
2026-06-04T01:36:26.9648452Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T01:36:26.9648880Z - Required stages: 
2026-06-04T01:36:26.9649132Z 
2026-06-04T01:36:26.9649629Z ### REQ-DOCS-5
2026-06-04T01:36:26.9650569Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T01:36:26.9651007Z - Required stages: 
2026-06-04T01:36:26.9651024Z 
2026-06-04T01:36:26.9651528Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T01:36:26.9652591Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T01:36:26.9653070Z - Required stages: impl, unit
2026-06-04T01:36:26.9653090Z 
2026-06-04T01:36:26.9653574Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T01:36:26.9654278Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T01:36:26.9654750Z - Required stages: impl, unit
2026-06-04T01:36:26.9654771Z 
2026-06-04T01:36:26.9655238Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T01:36:26.9655838Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T01:36:26.9656268Z - Required stages: 
2026-06-04T01:36:26.9656285Z 
2026-06-04T01:36:26.9656770Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T01:36:26.9657661Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T01:36:26.9658138Z - Required stages: impl, unit
2026-06-04T01:36:26.9658156Z 
2026-06-04T01:36:26.9658620Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T01:36:26.9659540Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T01:36:26.9660037Z - Required stages: impl, unit
2026-06-04T01:36:26.9660057Z 
2026-06-04T01:36:26.9660551Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T01:36:26.9661478Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T01:36:26.9661918Z - Required stages: 
2026-06-04T01:36:26.9661937Z 
2026-06-04T01:36:26.9662404Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T01:36:26.9663019Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T01:36:26.9663438Z - Required stages: 
2026-06-04T01:36:26.9663455Z 
2026-06-04T01:36:26.9663963Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T01:36:26.9664734Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T01:36:26.9665207Z - Required stages: impl, unit
2026-06-04T01:36:26.9665228Z 
2026-06-04T01:36:26.9665693Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T01:36:26.9666373Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T01:36:26.9666860Z - Required stages: impl, int
2026-06-04T01:36:26.9666878Z 
2026-06-04T01:36:26.9667375Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T01:36:26.9668133Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T01:36:26.9668595Z - Required stages: impl, unit
2026-06-04T01:36:26.9668613Z 
2026-06-04T01:36:26.9669117Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T01:36:26.9669948Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T01:36:26.9670421Z - Required stages: impl, unit
2026-06-04T01:36:26.9670441Z 
2026-06-04T01:36:26.9670932Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T01:36:26.9671827Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T01:36:26.9672305Z - Required stages: impl, unit
2026-06-04T01:36:26.9672324Z 
2026-06-04T01:36:26.9672835Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T01:36:26.9673555Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T01:36:26.9674014Z - Required stages: impl, unit
2026-06-04T01:36:26.9674039Z 
2026-06-04T01:36:26.9674546Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T01:36:26.9675360Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T01:36:26.9675829Z - Required stages: impl, unit
2026-06-04T01:36:26.9675846Z 
2026-06-04T01:36:26.9676342Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T01:36:26.9677379Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T01:36:26.9677846Z - Required stages: impl, unit
2026-06-04T01:36:26.9677863Z 
2026-06-04T01:36:26.9678305Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T01:36:26.9679586Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T01:36:26.9680242Z - Required stages: impl, unit
2026-06-04T01:36:26.9680260Z 
2026-06-04T01:36:26.9680750Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T01:36:26.9681673Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T01:36:26.9682309Z - Required stages: impl, unit
2026-06-04T01:36:26.9682329Z 
2026-06-04T01:36:26.9682831Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T01:36:26.9684099Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T01:36:26.9684580Z - Required stages: impl, unit
2026-06-04T01:36:26.9684596Z 
2026-06-04T01:36:26.9685099Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T01:36:26.9687329Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-04T01:36:26.9687810Z - Required stages: impl, unit
2026-06-04T01:36:26.9687828Z 
2026-06-04T01:36:26.9688347Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T01:36:26.9688928Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T01:36:26.9689442Z - Required stages: impl, unit
2026-06-04T01:36:26.9689464Z 
2026-06-04T01:36:26.9689938Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T01:36:26.9690542Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T01:36:26.9691017Z - Required stages: impl, unit
2026-06-04T01:36:26.9691047Z 
2026-06-04T01:36:26.9691541Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T01:36:26.9692283Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T01:36:26.9692737Z - Required stages: impl, unit
2026-06-04T01:36:26.9692756Z 
2026-06-04T01:36:26.9693218Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T01:36:26.9693985Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T01:36:26.9701600Z - Required stages: impl, unit
2026-06-04T01:36:26.9701707Z 
2026-06-04T01:36:26.9702329Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T01:36:26.9703029Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T01:36:26.9703525Z - Required stages: impl, unit
2026-06-04T01:36:26.9703560Z 
2026-06-04T01:36:26.9704031Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T01:36:26.9704741Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T01:36:26.9705200Z - Required stages: impl, unit
2026-06-04T01:36:26.9705228Z 
2026-06-04T01:36:26.9705718Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T01:36:26.9706583Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T01:36:26.9707049Z - Required stages: impl, unit
2026-06-04T01:36:26.9707068Z 
2026-06-04T01:36:26.9707599Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T01:36:26.9708515Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T01:36:26.9708985Z - Required stages: impl, unit
2026-06-04T01:36:26.9709006Z 
2026-06-04T01:36:26.9709588Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T01:36:26.9710409Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T01:36:26.9710885Z - Required stages: impl, unit
2026-06-04T01:36:26.9710906Z 
2026-06-04T01:36:26.9711419Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T01:36:26.9712095Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T01:36:26.9712547Z - Required stages: impl, unit
2026-06-04T01:36:26.9712574Z 
2026-06-04T01:36:26.9713100Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T01:36:26.9714168Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T01:36:26.9714621Z - Required stages: impl, unit
2026-06-04T01:36:26.9714639Z 
2026-06-04T01:36:26.9715092Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T01:36:26.9716129Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T01:36:26.9716589Z - Required stages: impl, unit
2026-06-04T01:36:26.9716609Z 
2026-06-04T01:36:26.9717078Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T01:36:26.9718103Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T01:36:26.9718837Z - Required stages: impl, unit
2026-06-04T01:36:26.9718860Z 
2026-06-04T01:36:26.9719391Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T01:36:26.9720727Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T01:36:26.9721347Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9721365Z 
2026-06-04T01:36:26.9721842Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T01:36:26.9723234Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T01:36:26.9723744Z - Required stages: impl, unit
2026-06-04T01:36:26.9723765Z 
2026-06-04T01:36:26.9724319Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T01:36:26.9726698Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-04T01:36:26.9727283Z - Required stages: impl, unit, int
2026-06-04T01:36:26.9727310Z 
2026-06-04T01:36:26.9727971Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T01:36:26.9734790Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-04T01:36:26.9735469Z - Required stages: 
2026-06-04T01:36:26.9735511Z 
2026-06-04T01:36:26.9736055Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T01:36:26.9740155Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-04T01:36:26.9740644Z - Required stages: 
2026-06-04T01:36:26.9740667Z 
2026-06-04T01:36:26.9741218Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T01:36:26.9744717Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-04T01:36:26.9745280Z - Required stages: impl, unit
2026-06-04T01:36:26.9745301Z 
2026-06-04T01:36:26.9745817Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T01:36:26.9748784Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-04T01:36:26.9749541Z - Required stages: impl, unit
2026-06-04T01:36:26.9749567Z 
2026-06-04T01:36:26.9750236Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T01:36:26.9754889Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-04T01:36:26.9755419Z - Required stages: impl, unit
2026-06-04T01:36:26.9755463Z 
2026-06-04T01:36:26.9755903Z ## How to report back
2026-06-04T01:36:26.9755924Z 
2026-06-04T01:36:26.9756773Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T01:36:26.9756797Z 
2026-06-04T01:36:26.9757201Z     {
2026-06-04T01:36:26.9757717Z       "code": "requirement_quality",
2026-06-04T01:36:26.9758218Z       "requirementId": "REQ-...",
2026-06-04T01:36:26.9759060Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T01:36:26.9759707Z       "message": "<short reason>",
2026-06-04T01:36:26.9760281Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T01:36:26.9760697Z     }
2026-06-04T01:36:26.9760716Z 
2026-06-04T01:36:26.9761665Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T01:36:26.9762377Z deterministic findings above don't need to be repeated.
